constructive algorithms implementation math *2200

Please click on ads to support us..

Python Code:

def next_value(value):
    if (value < 9):
        return value
    
    base = 1
    while (base * 10 + 1 <= value):
        base = base * 10 + 1
    cur = 1
    while (base * (cur + 1) <= value and cur < 9):
        cur += 1
    return base * cur
 
def list_del(value):
    mp = {}
    while (value > 0):
        n_value = next_value(value)
        value -= n_value
        curval = mp.get(n_value) is None and 1 or mp.get(n_value) + 1
        mp[n_value] = curval
    return mp
 
x = input().split()
p = int(x[0])
q = int(x[1])
 
revAfter = p < q
 
beginStr = ''
if (abs(p - q) & 1):
    beginStr = '5000000000000000002'
else:
    beginStr = '6000000000000000002'
    
revStr = beginStr[::-1]
 
begin = int(beginStr)
rev = int(revStr)
 
razn = (abs(begin - rev) - abs(p - q)) >> 1
 
ans = str(begin)
 
for k, v in list_del(razn).items():
    ans += '+0-' + str(k) + '*' + str(v) + '+0'
 
for k, v in list_del(abs(begin - razn - max(p, q))).items():
    ans += '+0-' + str(k) + '*' + str(v) + '-0'
if (revAfter):
    ans = ans[::-1]
print(ans)


Comments

Submit
0 Comments
More Questions

1517D - Explorer Space
1230B - Ania and Minimizing
1201A - Important Exam
676A - Nicholas and Permutation
431A - Black Square
474B - Worms
987B - High School Become Human
1223A - CME
1658B - Marin and Anti-coprime Permutation
14B - Young Photographer
143A - Help Vasilisa the Wise 2
320A - Magic Numbers
1658A - Marin and Photoshoot
514A - Chewbaсca and Number
382A - Ksenia and Pan Scales
734B - Anton and Digits
1080A - Petya and Origami
1642D - Repetitions Decoding
1440A - Buy the String
1658F - Juju and Binary String
478A - Initial Bet
981A - Antipalindrome
365A - Good Number
1204B - Mislove Has Lost an Array
1409D - Decrease the Sum of Digits
1476E - Pattern Matching
1107A - Digits Sequence Dividing
1348A - Phoenix and Balance
1343B - Balanced Array
1186A - Vus the Cossack and a Contest